Add cross-domain operational dependency workflow fixture family#142
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces the cross_domain_operational_dependency_workflow fixture family, providing a comprehensive set of baseline and degraded scenarios (mild, moderate, severe) along with updated admissibility curves and results. The review feedback highlights several inconsistencies between the generated results and the defined expectations; specifically, the INVARIANT_VIOLATION label and no_orphan_operational_steps contract failure were missing from the manifest and fixture metadata for mild and moderate levels. Additionally, an extraneous setup_workspace event was found in the reconstructed baseline trace that does not align with the original source data.
| { | ||
| "action": "setup_workspace", | ||
| "step": 0 | ||
| }, |
There was a problem hiding this comment.
The reconstructed trace for the baseline fixture includes an extra setup_workspace event at step 0. This event is not present in the original trace (original/trace.json) and has no corresponding node in the dependency graph. This inconsistency makes the baseline reconstruction "noisy" compared to the source data and other fixtures in the family.
| "expected_failure_labels": [ | ||
| "RECOVERY_PATH_INVALID" | ||
| ] |
There was a problem hiding this comment.
The expected_failure_labels for the mild degradation level is missing the INVARIANT_VIOLATION label. The generated results in artifacts/multi_family_admissibility_results.json (line 138) show that this fixture triggers an invariant violation because the recovery nodes are present in the graph but disconnected (orphans).
"expected_failure_labels": [
"INVARIANT_VIOLATION",
"RECOVERY_PATH_INVALID"
]| "expected_failure_labels": [ | ||
| "CAUSAL_DEPENDENCY_LOSS", | ||
| "RECOVERY_PATH_INVALID" | ||
| ] |
There was a problem hiding this comment.
| "must_fail_contracts": [ | ||
| "recovery_or_rollback_reachable" | ||
| ], | ||
| "expected_failure_labels": [ | ||
| "RECOVERY_PATH_INVALID" | ||
| ] |
There was a problem hiding this comment.
The must_fail_contracts and expected_failure_labels are incomplete. They should include no_orphan_operational_steps and INVARIANT_VIOLATION respectively, to match the actual behavior of the fixture as recorded in the admissibility results.
"must_fail_contracts": [
"no_orphan_operational_steps",
"recovery_or_rollback_reachable"
],
"expected_failure_labels": [
"INVARIANT_VIOLATION",
"RECOVERY_PATH_INVALID"
]| "must_fail_contracts": [ | ||
| "dependency_chain_preserved", | ||
| "recovery_or_rollback_reachable" | ||
| ], | ||
| "expected_failure_labels": [ | ||
| "CAUSAL_DEPENDENCY_LOSS", | ||
| "RECOVERY_PATH_INVALID" | ||
| ] |
There was a problem hiding this comment.
The expectations for the moderate fixture should be updated to include the invariant violation detected during artifact generation.
"must_fail_contracts": [
"dependency_chain_preserved",
"no_orphan_operational_steps",
"recovery_or_rollback_reachable"
],
"expected_failure_labels": [
"CAUSAL_DEPENDENCY_LOSS",
"INVARIANT_VIOLATION",
"RECOVERY_PATH_INVALID"
]
Summary:
cross_domain_operational_dependency_workflowwith four degradation levels (baseline, mild, moderate, severe) that exercise cross-domain dependency chains, ordering/governance gating, recovery/rollback reachability, and no-orphan invariants using only registered failure labels.Changed files:
fixtures/:fixtures/cross_domain_operational_dependency_workflow_v1fixtures/cross_domain_operational_dependency_workflow_mild_v1fixtures/cross_domain_operational_dependency_workflow_moderate_v1fixtures/cross_domain_operational_dependency_workflow_degraded_v1dependency_chain_preserved,policy_ordering_governance_before_deploy,recovery_or_rollback_reachable,no_orphan_operational_steps).fixtures/manifest.jsonto register the new family and expected failure labels.artifacts/multi_family_admissibility_results.jsonartifacts/multi_family_admissibility_curves.svgtests/test_multi_family_admissibility_artifact.pytests/test_fixture_manifest.pyTesting:
python scripts/generate_multi_family_admissibility_artifact.pyandpython scripts/render_multi_family_admissibility_svg.py(artifacts updated).pytest tests/test_failure_taxonomy.py -q,pytest tests/test_manifest_fixture_families.py -q,pytest tests/test_multi_family_admissibility_artifact.py -q,pytest tests/test_multi_family_svg_renderer.py -q,pytest tests/test_fixture_manifest.py -q(all passed during the final run), and full repo checknpm run checkcompleted (includingpytestsuite) with all tests passing (222 passed).Risks:
Next:
Codex Task